The present invention relates to digital printing, in general, and to the use of digital printing technology for printing variable information (or personalized) documents, in particular.
The following is a list of commonly used terms in the art, as well as some new definitions:
Bookletxe2x80x94A set of pages that are part of the print job and need to be collated into one document. A booklet represents an instance of the document that was personalized for a specific recipient or group of recipients.
Flatxe2x80x94A film or plate or a sheet of paper that contains the images of several pages, typically organized as 2, 4, 8, 16, or even 32 pages per flat. The specific arrangement of the pages on the flat is typically derived from needs of further binding, and it is the result of an imposition processing.
Cachexe2x80x94Typically used for describing small but very fast memory that is expected to store data of items (typically memory cells) that with high probability will be needed frequently. Because the Cache is much faster than the regular memory used for storing the items, performance of programs is significantly enhanced if they find the items they need in the Cache. Since the size of the Cache is small, it is always important to have a policy that replaces old items in the Cache with new items; the goal of such a policy is to improve the chances of finding the needed items in the Cache. In this specification and claims, the term xe2x80x9cCache Managementxe2x80x9d is used to name this policy. Several algorithms for Cache Management are known in the art. In the context of the present invention the term xe2x80x9cCachexe2x80x9d means storage for some representation of itemsxe2x80x94elements, parts of pages, or full pagesxe2x80x94that serve the Page Assembly Process. It is assumed that using an item from a Cache is faster than reprocessing the item.
Rasterxe2x80x94A data format where a graphic entity is divided into a rectangular grid of small units of area called pixels and where for each pixel a color value is stored. An image line or scan line is one row of pixels.
Printer-Ready (PR)-xe2x80x94A representation of a page or page element in a format that is suitable for delivery by a print subsystem to some print-engine. This may be, in many cases, a raster format. In some implementations, partially processed, non-raster, representations are possible as well.
Page Description Language (PDL)xe2x80x94A language that serves to describe what image the printer should generate on a page.
Raster Image Processor (RIP)xe2x80x94A hardware or software or combined hardware and software means to translate (transform) pages specified in a PDL into a printer-ready representation.
Regionxe2x80x94A region is defined relative to the printer-ready representation and it can be any rectangular area of the full page that can be addressed, retrieved, and replaced without processing the rest of the full page. A full page is obviously a region, and so is a segment which contains an integer number of full image lines. A tile, which is a rectangular area that contains an integer number of partial image lines of the same length, can also be a region.
Reference is now made to FIG. 1, which is a schematic block diagram illustration of a prior art digital printing system. The system comprises a Raster Image Processor (RIP) 10 connected to a printing subsystem 12 via a printer-ready (PR) storage subsystem 14. The printing subsystem 12 comprises a printer interface 16 connected to a printer 18. The major functionality of such systems is for the RIP 10 to process a specification of pages into a printer-ready representation of these pages, and to deliver the printer-ready representation of the pages to the printer interface 16 that drives the printer 18.
Page specifications are given in a page description language (PDL), non-limiting examples of which are Postscript and Portable Document Format (PDF), both from Adobe Systems Incorporated of California, USA and Printer Control Language (PCL) from Hewlett Packard of California, USA. Several applications used to create documents are known in the art, for example, but not limited to PageMaker and FrameMaker from Adobe Systems Incorporated of California, USA, Word from Microsoft Corporation of Washington, USA, and QuarkXPress from Quark, Inc. of Colorado, USA. Such applications respond to a user""s request for printing by generating specifications of the pages to be printed using a PDL. The imaging system uses the RIP 10 to translate these specifications into a printer-ready format suitable for the printer 18.
In traditional printing applications, such as those using offset printing, the specifications typically define a single page, or a group of pages known as a flat. The system images these pages onto a film that is later used to make a plate (modern systems support the capability to image directly onto the plate). In digital printing, it is also possible to specify a set of pages to be printed in sequence, in order to generate a collated document (also known as xe2x80x9celectronic collationxe2x80x9d).
In traditional printing, the process of generating films or plates is decoupled from the printing process. Therefore, printing does not impose any real-time constraint on the RIP process. In contrast, there is a real motivation for achieving real-time translation in digital printing. If the translation from specification to printer-ready representation could be done at a rate similar to the rate at which the printer emits printed pages, then the size of the intermediate storage required as a buffer between the RIP 10 and the printing subsystem 12 could be reduced. This is especially significant for the case of collated documents, where the intermediate storage may need to store all the pages of the collated document (which can be a few hundreds pages long) prior to starting the actual printing.
In general, however, real-time translation is not achievable, due to the rich semantics of PDLs such as PostScript. It is known in the art that if the PDL is a full scale programming language (for example, PostScript), then real-time translation cannot be guaranteed without limiting the acceptable input or the semantics of the PDL. Therefore most digital printing systems have two-phase, sequential processing between the RIP 10 and the printing subsystem 12. In the first phase, the RIP 10 translates the PDL into printer-ready representations and in the second phase, the printer interface 16 reads these printer-ready representations and drives the printer 18 to generate pages.
When dealing with the printing of variable information documents, the approaches described hereinabove become unusable as the number of different booklets increases. Variable information documents may be addressed to very large populations, as large as ten thousand and more. Therefore, printing systems must support huge (and impractical) intermediate storage between the translation and printing phases for storing the printer-ready representations of all the pages.
In order to avoid the need for an impractical large intermediate storage, the system must be capable of processing these pagesxe2x80x94from specification to printer-readyxe2x80x94at the real-time rate dictated by the printer 18. This fundamentally requires the limitation of the PDL semantics. In other words, if, for example, a specific subset of a PDL is used for specifying pages then it might be possible to guarantee a real-time constraint for the processing of these pages.
Various digital printing systems are described in the European Patent Application EP 0703524 B1 assigned to AGFA, the U.S. Pat. Nos. 5,740,338, 5,760,914, 5,739,946, and 5,796,930 to Gauthier et al., the U.S. Pat. Nos. 5,729,665 and 5,594,860 to Gauthier, and the U.S. Pat. No. 5,500,928 to Cook et al.
The Xcikon Variable Data System for the Xeikon DCP series of digital color presses from Xeikon nv of Belgium, is a printing system that can process printing jobs at the rate of the print engine, provided that the page specifications are severely restricted.
There is provided in accordance with a preferred embodiment of the present invention a method for generating printer-ready representations of pages having regions described by page assembly instructions. The page assembly instructions of each region of a current page are compared with the page assembly instructions of each equivalent region of a previous page. The previous page has a printer-ready representation. The printer-ready representation of the current page is generated by reusing a portion of the printer-ready representation of the previous page, the portion corresponding to each region of the previous page that is similar to the equivalent region of the current page, and assembling each region of the current page that is not similar to the equivalent region of the previous page. There is also provided in accordance with a preferred embodiment of the present invention a method for generating printer-ready representations of pages having regions described by page assembly instructions, the printer-ready representations and the page assembly instructions are separable into multiple layers. The method includes the step of selecting at least one of the multiple layers. For each selected layer, the page assembly instructions of each region of a current page are compared with the page assembly instructions of each equivalent region of a previous page having a printer-ready representation. The selected layer of the printer-ready representation of the current page is generated by reusing a portion of the selected layer of the printer-ready representation of the previous page, the portion corresponding to each region of the previous page that is similar to the equivalent region of the current page, and assembling each region of the current page that is not similar to the equivalent region of the previous page. There is also provided in accordance with a preferred embodiment of the present invention a system for generating printer-ready representations of pages.